package com.sicheng.metadata.se.动态代理;

import java.lang.reflect.Proxy;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/5/10 17:14
 */
// 4.定义一个创建代理对象（Proxy）的工厂类：
// 通过 Proxy.newProxyInstance() 创建委托类对象的代理对象
public class JdkProxyFactory {
    // 任意一个实现了对应接口的类都可以被代理
    public static Object getProxy(Object target) {
        return Proxy.newProxyInstance(
                target.getClass().getClassLoader(),
                target.getClass().getInterfaces(),
                new DebugInvocationHandler(target)
        );
    }
}
